<?php

namespace app\admin\controller;

use app\admin\common\controller\Common;
use app\common\model\Web as WebModel;
use think\Request;

// 产品
class Web extends Common
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        // 获取单个数据
        $data = WebModel::get(array(1));

        // 模板变量赋值
        $this->assign('data', $data);

        // 视图渲染
        return view();
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function update(Request $request)
    {
        // 保存Put数据
        $put = $request->put();

        // 设置更新条件
        $put['id'] = 1;

        // 更新数据
        $result = WebModel::update($put, true);

        // 返回Json数据
        return $result ? json(['message' => '更新成功', 'type' => 'success', 'state' => 200]) : json(['message' => '更新失败', 'type' => 'error', 'state' => 400]);
    }

    /**
     * 上传
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function upload(Request $request)
    {
        // 定义变量保存文件名
        $data = [];

        // 获取表单上传文件
        $files = $request->file();

        // 循环上传
        foreach ($files as $key => $file) {
            // 移动到框架应用根目录/uploads/web 目录下
            $info = $file->rule('uniqid')->move('./uploads/web', true, false);

            // 判断是否上传成功
            if ($info) {    // 上传成功
                // 获取旧图片
                $old_img = WebModel::where('id', 1)->value($key);

                // 删除旧图片
                unlink('./uploads/web/' . $old_img);

                // 保存文件名称
                $data[$key] = $info->getFilename();
            } else {    // 上传失败
                // 上传失败获取错误信息
                return json(['message' => '上传图片失败', 'type' => 'error', 'state' => 400]);
            }    
        }

        // 返回Json数据
        return json(['data' => $data, 'message' => '上传图片成功', 'type' => 'success', 'state' => 200]);
    }
}
